package org.ccay.audit.dao;

import java.util.List;

import org.ccay.audit.vo.LogVO;
import org.ccay.core.base.PageVO;
import org.ccay.core.base.PagedResult;
import org.ccay.core.orm.PreparedStatementParams;


/**
 * 审计日志DAO
 * 
 * Created：2011-9-8
 * @author chaowangbang
 * @version:
 */
public interface IAuditLogDao {
	
	/**
	 * 添加一条审计日志
	 * 
	 * @param logVO
	 */
	public int createAuditLog(LogVO logVO);
	
	/**
	 * 分页查询审计日志
	 * 
	 * @param logVO
	 * @param pageVO
	 * @return
	 */
	public PagedResult<LogVO> findLogList(LogVO logVO, PageVO pageVO);
	
	/**
	 * 分页查询统计用户登录次数
	 * 
	 * @author chaowangbang
	 * @since 2012-05-31
	 * @param page
	 * @return
	 */
	public PagedResult<LogVO> findUserStatisticsList(LogVO logVO,PageVO page);
	
	/**
	 * 差异日志查询
	 * 
	 * @param logVO
	 * @return
	 */
	public List<LogVO> findTwoLogs(LogVO logVO);
	
	/**
	 * 查询审计日志记录数
	 * 
	 * @param logVO 查询条件
	 * @return
	 */
	public int findLogCount(LogVO logVO);
	
	/**
	 * 批量创建审计日志
	 * 	
	 * @author chaowangbang
	 * @since Feb 27, 2012
	 * @param logs
	 * @return
	 */
	public int createAuditLogList(List<LogVO> logs);
	
	/**
	 * 审计日志的ResoultSet导出
	 * @param logVO
	 * @return
	 */
	public List<PreparedStatementParams> findExportLogsResultSet(LogVO logVO);

}
